Pseudo-noise (PN) sequences, also referred to as PN codes, have been employed in various applications including data encryption and security, wireless communications, etc. For example, code division multiple access (CDMA) communications systems often employ PN codes to enable transmission of multiple signals using a common channel (e.g., over the same frequency band). A transmitter may transmit a data communications signal modulated by a unique PN code over a frequency band shared by the one or more other transmitters. The data communications signal may be demodulated by one or more receivers by demodulating the data communications signal with a local replica of the same PN code.
PN codes have the generally desirable characteristic that signals modulated and demodulated with the same PN code appear strongly correlated while all other signals modulated and demodulated with different PN codes appear as background noise. Accordingly, multiple signals transmitted over the same channel may be distinguished from one another by demodulating appropriately with the respective PN code employed during transmission of the signal.
Many applications, such as wireless communications, have benefited from the capability of PN codes to facilitate CDMA communications. Various groups in the telecommunications industry have developed the CDMA2000 standard, which provides provides, inter alia, PN codes that may be used in 3rd generation networks to deliver wireless and mobile services in a CDMA environment. Other standards exist including the Universal Mobile Telephone System (UMTS), W-CDMA, etc. Accordingly, multiple cellular devices may communicate simultaneously with one or more base stations over the same frequency band, thus preserving the frequency spectrum for other types and forms of wireless transmission.
PN codes may be generated using a linear feedback shift register (LFSR). Due to the relatively stringent time constraints often placed on PN code generation, LFSR generators have conventionally been implemented on dedicated hardware. For example, a conventional LFSR generator may be implemented on an ASIC or FPGA. However, hardware implementations may be expensive and/or inflexible.
In addition, the telecommunications industry has increasingly relied upon digital signal processors (DSP) to handle the various signal processing tasks and computations involved in data communications, for example, to handle the relatively large amount of computations required to support an expanding cellular communications network. Accordingly, it may be desirable to have a general purpose DSP capable of both handling traditional signal processing tasks and generating PN codes for data transmission in CDMA environments, or in other applications that utilize PN codes and may require PN code generators.